函式參數的預設資料
基本語法
def 函式名稱(參數名稱=預設資料):
函式內部程式碼
#參數msg預設資料為"Hello"
def say(msg="Hello"):
print(msg)
第一種:有給參數
say("Hello Function")
#Hello Function
第二種:沒有給參數,就會使用預設值
say()
#Hello
名稱對應
直接用參數的名稱對應資料,且不管順序
*基本語法
def 函式名稱(名稱1,名稱2)
函式內部程式碼
*呼叫函式
以參數名稱對應資料
函式名稱(名稱2=3,名稱1=5)
範例
def divide(n1,n2)
result=n1/n2
print(result)
情況一
divide(2,4)
#0.5
情況二:參數對應名稱,不管順序
(把2丟入n2,把4丟入n1)
divide(n2=2,n1=4)
#2.0
無限參數又叫"不定"參數
基本語法
def 函式名稱(*無限參數)
函式內部的程式碼
函式名稱(資料一,資料二,資三...)
範例:
*函式接受無限參數msgs
用for迴圈,把Tuple列表中的資料一個一個印出來
def say(*msgs)
for msg in msgs: #Tuple方式處理
print(msg)
*呼叫函式,傳入三個參數資料
say("HI","oh","you")
for迴圈會逐次印出
#hi,oh,you
*參數的預設資料
def power(base,exp=0) #給exp預設值,任何數字的0次方都是1
print(base**exp) #兩個*就代表次方
power(3,2)
#9
power(3) #未給第2個參數,使用預設值
#3 <= 3的1次方
如果沒有給預設值,參數又沒寫,就會錯誤!
無限(不定)參數範例:
不定的意思就是:不限 你給幾個就算幾個
第一種,變成Tuple形式
def avg(*ns):
print(ns)
avg(3,4)
#(3,4)
第二種,使用for迴圈,從列表一個一個印出
def avg(*ns):
for n in ns:
print(ns)
avg(3,4)
#3
#4
*計算平均值
def avg(*ns):
for n in ns:
sum=sum+n
print(sum/len(ns)) # len(ns)=> ns列表的長度
avg(3,4)
#3.5
avg(3,5,10)
#6.0